Modelo Churn

La adquisición de un cliente en la empresa presenta costos asociados a este. Además, el costo de adquirir un nuevo cliente suele ser más elevado que en el que incurre la empresa en retenerlo. Por ende, es relevante lograr una fidelización de estos para asegurar la existencia del negocio en el tiempo. En ese sentido, se utilizan los modelos churn con el objetivo de conocer la propensión de que el cliente abandone la empresa y se transforme en un ex-usuario.

Explorar la data

Estructura de la data

Se observa estadística descriptiva, distribución de las variables y que existen valores perdidos en esta.

  • El 14.5% de los registros son ex-usuarios de la empresa. Se muestra que existe un problema de clase desequilibrada en la variable churn.

  • Se observa mayor consumo de minutos en la tarde y en la noche en comparación con la mañana.

  • En promedio, las mayores facturaciones se registran en horarios de la tarde.

  • Los usuarios tienden a llamar 1.56 veces al mes a los centros de atención. Además, se observa que la distribución tiene un sesgo positivo.

  • A las variables Total.intl.calls y Total.intl.charge se le remueven observaciones y se crean las nuevas variables International_calls e International_charges con el objetivo de probar la efectividad de técnicas de imputación de datos faltantes.

  • Vemos que la variable International_calls tiene 14 valores perdidos.

  • La variable International_charges tiene 10 valores perdidos.

  • Sin embargo, 2 de estos valores perdidos se encuentran en el mismo usuario.

Data summary
Name data_churn
Number of rows 3333
Number of columns 22
_______________________
Column type frequency:
character 3
logical 1
numeric 18
________________________
Group variables None

Variable type: character

skim_variable n_missing complete_rate min max empty n_unique whitespace
State 0 1 2 2 0 51 0
International.plan 0 1 2 3 0 2 0
Voice.mail.plan 0 1 2 3 0 2 0

Variable type: logical

skim_variable n_missing complete_rate mean count
Churn 0 1 0.14 FAL: 2850, TRU: 483

Variable type: numeric

skim_variable n_missing complete_rate mean sd p0 p25 p50 p75 p100 hist
Account.length 0 1 101.06 39.82 1.00 74.00 101.00 127.00 243.00 ▂▇▇▂▁
Area.code 0 1 437.18 42.37 408.00 408.00 415.00 510.00 510.00 ▇▁▁▁▃
Number.vmail.messages 0 1 8.10 13.69 0.00 0.00 0.00 20.00 51.00 ▇▁▂▁▁
Total.day.minutes 0 1 179.78 54.47 0.00 143.70 179.40 216.40 350.80 ▁▃▇▅▁
Total.day.calls 0 1 100.44 20.07 0.00 87.00 101.00 114.00 165.00 ▁▁▇▇▁
Total.day.charge 0 1 30.56 9.26 0.00 24.43 30.50 36.79 59.64 ▁▃▇▅▁
Total.eve.minutes 0 1 200.98 50.71 0.00 166.60 201.40 235.30 363.70 ▁▂▇▅▁
Total.eve.calls 0 1 100.11 19.92 0.00 87.00 100.00 114.00 170.00 ▁▁▇▇▁
Total.eve.charge 0 1 17.08 4.31 0.00 14.16 17.12 20.00 30.91 ▁▂▇▅▁
Total.night.minutes 0 1 200.87 50.57 23.20 167.00 201.20 235.30 395.00 ▁▅▇▂▁
Total.night.calls 0 1 100.11 19.57 33.00 87.00 100.00 113.00 175.00 ▁▅▇▂▁
Total.night.charge 0 1 9.04 2.28 1.04 7.52 9.05 10.59 17.77 ▁▅▇▃▁
Total.intl.minutes 0 1 10.24 2.79 0.00 8.50 10.30 12.10 20.00 ▁▃▇▃▁
Total.intl.calls 0 1 4.48 2.46 0.00 3.00 4.00 6.00 20.00 ▇▅▁▁▁
International_calls 14 1 4.48 2.46 0.00 3.00 4.00 6.00 20.00 ▇▅▁▁▁
Total.intl.charge 0 1 2.76 0.75 0.00 2.30 2.78 3.27 5.40 ▁▃▇▃▁
International_charges 10 1 2.76 0.75 0.00 2.30 2.78 3.27 5.10 ▁▂▇▅▁
Customer.service.calls 0 1 1.56 1.32 0.00 1.00 1.00 2.00 9.00 ▇▅▁▁▁

Imputar valores perdidos

  • Se observa la distribución de la data:

    • International calls presenta una distribución con asimetría positiva. En ese tenor, se procede a usar un algoritmo de k-nearest neighbors.

    • Por el contrario, International charges tiende a converger a una distribución normal, por ende, se opta por imputar los valores con la media.

  • La media de los datos originales de las llamadas internacionales era 4.479, en el caso de los datos imputados resulta de 4.475. Respecto a las facturaciones de estas llamadas, la media de los datos originales era de 2.765, mientras que la imputada es de 2.764. En ese sentido, los datos imputados son cercanos a los originales.
##  International_calls International_charges
##  Min.   : 0.000      Min.   :0.000        
##  1st Qu.: 3.000      1st Qu.:2.300        
##  Median : 4.000      Median :2.780        
##  Mean   : 4.475      Mean   :2.764        
##  3rd Qu.: 6.000      3rd Qu.:3.270        
##  Max.   :20.000      Max.   :5.100
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   3.000   4.000   4.479   6.000  20.000
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   2.300   2.780   2.765   3.270   5.400

¿Qué dice la data?

  • Los que abandonan la empresa son los que suelen facturar más al mes. Por ende, son clientes muy importantes que se deben retener.

  • La mayor tasa de abandono de clientes se encuentra en California (CA) y Nueva Jersey (NJ).

  • Los ex-usuarios son los que tendían a realizar mayor cantidad de llamadas a los centros de atención al cliente.

  • Los ex-usuarios consumían mayor cantidad de minutos al mes que aquellos clientes que permanecen en la empresa. Además, preferían usar el servicio de telecomunicaciones en las mañanas y tardes.

  • Se transforman las variables, se eliminan aquellas con alta correlación para evitar multicolinealidad y presentar un modelo más parsimonioso.

  • Para poder entender el fenómeno estudiado se estima un modelo logit.

  • Se evidencia que el hecho de tener un plan internacional incrementa la probabilidad de que el cliente abandone la empresa.

  • Los clientes que tienen el plan de voicemail presentan mayor probabilidad de permanecer en la empresa que su contraparte (aquellos que no tienen el plan de voicemail).

  • A medida de que se incrementa el número de mensajes enviados, se aumenta la probabilidad de que el cliente abandone la empresa.

  • A mayor cantidad de minutos consumidos en la mañana, tarde y noche, mayor propensión a abandonar la empresa.

  • Los usuarios que registran mayor cantidad de llamadas a los servicios de atención al cliente son los más propensos a convertirse en ex-usuarios.

  • Los clientes que realizan llamadas internacionales tienden a permanecer en la empresa.

## 
## ==================================================
##                            Dependent variable:    
##                        ---------------------------
##                                   Churn           
## --------------------------------------------------
## International.plan              2.038***          
##                                  (0.145)          
##                                                   
## Voice.mail.plan                 -1.997***         
##                                  (0.575)          
##                                                   
## Number.vmail.messages            0.035*           
##                                  (0.018)          
##                                                   
## Total.day.minutes               0.013***          
##                                  (0.001)          
##                                                   
## Total.day.calls                   0.003           
##                                  (0.003)          
##                                                   
## Total.eve.minutes               0.007***          
##                                  (0.001)          
##                                                   
## Total.eve.calls                   0.001           
##                                  (0.003)          
##                                                   
## Total.night.minutes             0.004***          
##                                  (0.001)          
##                                                   
## Total.night.calls                 0.001           
##                                  (0.003)          
##                                                   
## Total.intl.minutes                0.127           
##                                  (0.194)          
##                                                   
## Customer.service.calls          0.514***          
##                                  (0.039)          
##                                                   
## International_calls1            -0.095***         
##                                  (0.025)          
##                                                   
## International_charges1           -0.145           
##                                  (0.721)          
##                                                   
## Constant                        -8.562***         
##                                  (0.711)          
##                                                   
## --------------------------------------------------
## Observations                      3,333           
## Log Likelihood                 -1,079.604         
## Akaike Inf. Crit.               2,187.208         
## ==================================================
## Note:                  *p<0.1; **p<0.05; ***p<0.01

Construcción del modelo

  • Para la construcción del modelo churn, se divide la data en el training set y testing set.

  • Debido a problemas con la clase desequilibrada en la variable dependiente, se utiliza la técnica de upsampling.

  • Para la modelización de los datos se estima un modelo ensamblador ya que presenta la ventaja de mejorar la precisión, estabilidad del modelo y evitar overfitting. Se utiliza la técnica de bagging para disminuir la varianza de las predicciones. Esta se basa en la combinación de las predicciones de múltiples modelos “débiles” para formar un modelo robusto. Cada uno de los modelos se elabora en base a diferentes remuestreos con remplazo de la población. Para tales fines se modeliza con el random forest, en el cual, se crean múltiples árboles de decisión para formar todo un bosque de árboles. En este se seleccionan de entre todos los predictores una muestra aleatoria de “m” predictores como candidatos para cada modelo. En ese tenor, es una combinación de remuestreo de observaciones y de predictores.

  • La métrica a maximizar es el AUC. En ese tenor, se procede a realizar el tuning de los hiperparámetros.

  • Se evidencia que las variables con mayor importancia son:
    • El total de minutos consumidos en el día.
    • Llamadas a los servicios de atención.
    • Poseer un plan internacional.
    • Consumo de minutos en la tarde.

##           Truth
## Prediction FALSE TRUE
##      FALSE   701   23
##      TRUE     18   91

Desempeño del modelo

  • Alrededor del 95% de los casos fueron clasificados correctamente usando la base completa, por ende, no se evidencia overfitting.

  • En este caso, los falsos negativos son más costosos que los falsos positivos debido a que establecer erróneamente que un cliente se quedará en la empresa hace que este no sea analizado por el departamento de retenciones. En ese tenor, el objetivo es minimizar los falsos negativos, los cuales, representan alrededor del 2% de los casos.

Notas finales

  • Para continuar mejorando las predicciones del modelo se recomienda:

    • Seguir con el tuning de los hiperparámetros.
    • Estimación de otros modelos.
    • Stacking de modelos.